Ambient project management

ABSTRACT

A computer-implemented method of ambient ad hoc project management can include defining a project and associating a project decay function with the project, wherein the project decay function regulates a rate at which project health declines. Responsive to detecting a project event, one or more parameters of the project decay function can be determined from the project event. Project health can be calculated according to the project decay function using the parameter(s). An indication of the project health can be output.

BACKGROUND OF THE INVENTION

The embodiments of the present invention relate to project managementand, more particularly, to ambient project management. The need to trackmultiple tasks within work and home environments can be daunting. Whenthese tasks involve a specific set of activities to meet a goal orobjective, each task may be considered a project. Since projects caninclude a wide variety of workplace tasks as well as home and leisureactivities, monitoring and overseeing these projects can be difficultand cumbersome. A project can be as simple as organizing a birthdayparty or as complex as creating a five year plan for a corporation.Further, each project will have a differing level of importance as wellas different deadlines and milestones.

As a particular project increases in importance, or nears completion, itcan distract attention from lesser projects. The loss of attention canlead to neglect of these lesser projects. This neglect can be especiallyprevalent with smaller projects, containing fewer time restrictionsand/or milestones.

BRIEF SUMMARY OF THE INVENTION

The embodiments disclosed herein relate to project management. Oneembodiment of the present invention can include a computer-implementedmethod of ambient, ad hoc project management. The method can includedefining a project and associating a project decay function with theproject, wherein the project decay function regulates a rate at whichproject health declines. Responsive to detecting a project event, one ormore parameters of the project decay function can be determined from theproject event. Project health can be calculated according to the projectdecay function using the parameter(s). An indication of the projecthealth can be output.

Another embodiment of the present invention can include acomputer-implemented method of ambient, ad hoc project management. Themethod can include defining a project, wherein the project is associatedwith a plurality of users, and defining a project decay function. Theproject decay function, which can depend upon project events, can beassociated with the project. The method also can include detecting aproject event associated with at least one of the plurality of users. Aproject health indicator can be determined. The project health indicatorcan be calculated using the project decay function and an indication ofthe project health indicator can be output.

Yet another embodiment of the present invention can include a computerprogram product including a computer-usable medium havingcomputer-usable program code that, when executed, causes a machine toperform the various steps and/or functions described herein.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a flow chart illustrating a method of project management inaccordance with one embodiment of the present invention.

FIG. 2 is a block diagram illustrating a system for performing projectmanagement in accordance with another embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

As will be appreciated by one skilled in the art, the present inventionmay be embodied as a method, system, or computer program product.Accordingly, the present invention may take the form of an entirelyhardware embodiment, an entirely software embodiment, includingfirmware, resident software, micro-code, etc., or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module,” or “system.”

Furthermore, the invention may take the form of a computer programproduct accessible from a computer-usable or computer-readable mediumproviding program code for use by, or in connection with, a computer orany instruction execution system. For the purposes of this description,a computer-usable or computer-readable medium can be any apparatus thatcan contain, store, communicate, propagate, or transport the program foruse by, or in connection with, the instruction execution system,apparatus, or device.

Any suitable computer-usable or computer-readable medium may beutilized. For example, the medium can include, but is not limited to, anelectronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system (or apparatus or device), or a propagation medium.A non-exhaustive list of exemplary computer-readable media can includean electrical connection having one or more wires, an optical fiber,magnetic storage devices such as magnetic tape, a removable computerdiskette, a portable computer diskette, a hard disk, a rigid magneticdisk, a magneto-optical disk, an optical storage medium, such as anoptical disk including a compact disk-read only memory (CD-ROM), acompact disk-read/write (CD-R/W), or a DVD, or a semiconductor or solidstate memory including, but not limited to, a random access memory(RAM), a read-only memory (ROM), or an erasable programmable read-onlymemory (EPROM or Flash memory).

A computer-usable or computer-readable medium further can include atransmission media such as those supporting the Internet or an intranet.Further, the computer-usable medium may include a propagated data signalwith the computer-usable program code embodied therewith, either inbaseband or as part of a carrier wave. The computer-usable program codemay be transmitted using any appropriate medium, including but notlimited to the Internet, wireline, optical fiber, cable, RF, etc.

In another aspect, the computer-usable or computer-readable medium canbe paper or another suitable medium upon which the program is printed,as the program can be electronically captured, via, for instance,optical scanning of the paper or other medium, then compiled,interpreted, or otherwise processed in a suitable manner, if necessary,and then stored in a computer memory.

Computer program code for carrying out operations of the presentinvention may be written in an object oriented programming language suchas Java, Smalltalk, C++ or the like. However, the computer program codefor carrying out operations of the present invention may also be writtenin conventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer, or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

The present invention is described below with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems), andcomputer program products according to embodiments of the invention. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

In accordance with the embodiments herein, a project can be defined andactivities related to the project monitored. Based upon a projectdefinition and detected project activities, the state or “health” of theproject can be determined. This determination can produce a quantifiablemeasure of the health of the project which may be output. This outputmeasure of health can be displayed in an ambient manner, imparting anintuitive understanding of the health of the project to a user.

The embodiments disclosed herein can be implemented within a projectmanagement application executing within a data processing system. Theproject management application may execute within a single dataprocessing system or within a distributed environment within a pluralityof data processing systems that may include a centralized server.Accordingly, the term “project management system” can refer to theproject management application executing within one or more such dataprocessing systems.

A data processing system suitable for storing and/or executing programcode will include at least one processor coupled directly or indirectlyto memory elements through a system bus. The memory elements can includelocal memory employed during actual execution of the program code, bulkstorage, and cache memories which provide temporary storage of at leastsome program code in order to reduce the number of times code must beretrieved from bulk storage during execution.

Input/output (I/O) devices, including but not limited to, keyboards,displays, pointing devices, etc., can be coupled to the data processingsystem either directly or through intervening I/O controllers. Networkadapters may also be coupled to the data processing system to enable thedata processing system to become coupled to other data processingsystems or remote printers or storage devices through interveningprivate or public networks. Modems, cable modems, and Ethernet cards arejust a few of the currently available types of network adapters.

FIG. 1 is a flow chart illustrating a method 100 of project managementin accordance with one embodiment of the present invention. The method100 can be implemented by a project management system as describedherein. In general, the method 100 can monitor a defined project andoutput or generate an ambient indication of the health or success of theproject using an ambient device. The term “ambient device,” can refer toa class of device which uses the concept of pre-attentive processing todeliver information. Pre-attentive processing refers to the ability ofthe brain to process information in absence of direct attention by anindividual. This processing of information can occur even while theindividual is involved in a skilled task unrelated to the project forwhich an ambient indication is being provided.

When the ambient device is placed within an environment, the ambientdevice can impart useful information without creating distraction. Theambient device can intuitively communicate information via a change insize, color, position, motion, luminescence, perspective or the like.For example, an ambient clock can store calendar information and displayappointment times of a user as darkened areas on the clock face. Thisintuitive approach can make the appointment information readilyaccessible to the user within the natural operation of glancing at thetime on the clock. In this way, the ambient device can quickly convey anintuitive understanding of that state of a project to an individual.

Another example of an ambient device can include a display device thatdisplays an icon or other visual representation of a project. The visualrepresentation can be made to change shape, color, or the like as thehealth of the project changes over time. In this manner, users can beprovided with relative information for the status of a project in amanner that does not distract from other activities. An ambient devicealso can include a peripheral device, such as a light or audio system,communicatively linked with a data processing system, e.g., oneexecuting the project management system. Accordingly, some physicalaspect of the peripheral device, e.g., sound volume, brightness oflight, or the like, can be controlled to indicate the relative health ofthe project. Such a device further can include a touch sensor capable ofdetecting touch such that when a touch is detected, the touch isconsidered “attention” to a project that has been associated with theambient indicator.

The method 100 can begin in step 105, where a project can be defined. Asused herein, the term “project,” can refer to a set of one or more tasksor activities with a specific set of goals and/or objectives, containingdeadlines and/or milestones, which may be undertaken by an individual ora group of individuals. For example, a project can include an eventrequiring planning and/or resources, investigation of a topic or issue,a proposal or plan, or other activity.

In one embodiment, the project can be ad hoc. The term “ad hoc” refersto a project that is less formalistic, e.g., one with few or nomilestones, but one that may still have a particular deadline forcompletion. The creation of an ad hoc project can result from a need tostructure a set of tasks that may lack focus and/or attention, asopposed to developing a project according to a clearly definedinstitutional framework. For example, an ad hoc project can entailincreasing product sales for an organization within a 30 day period. Thetasks or processes for achieving the increase in sales may be minimallyoutlined, if at all. Still, a 30 day deadline can be clearly defined forthe project. The deadline may be the only actual “deliverable” or dateassociated with the project.

The project can be defined in a number of ways. In one embodiment, theproject can be manually defined by a user. The user can specify projectparameters such as project tasks, project goals, project resources,project deadlines, assignment of project duties, and the like. In thismanner the user can outline a timeline for the project, organize astructure for development of the project, and determine a metric for the“health” and success of the project. For example, an individual buildinga backyard deck can define a list of tasks related to the construction,deadlines to complete each task, building material required for theproject, a construction budget, and a scheduling outline for contactorsworking on the project. Each of the preceding aspects of the deckconstruction project can be input by the user to establish the set ofparameters that define the project.

In another embodiment, the project can be defined from a collection oftasks or smaller projects. For example, a homeowner may have a series ofexisting backyard tasks that can be combined and used to define aproject called “backyard.” The collection of tasks can be drawn from asingle user or from a plurality of users, e.g., in a client-serverproject management application system.

In yet another embodiment the project can be defined automatically,wherein the behaviors or activities, e.g., computing activities, of oneor more users can be monitored and used to suggest a project thatencompasses the observed behavior. These activities being observed mayinvolve a single user or a plurality of users. Activities, including,but not limited to, keyword searches performed by a user, frequentactivities or word usages, electronic communications exchanged between aplurality of users, detecting multiple electronic messages between aplurality of users having like content or keywords (same or similarsubject matter), repetitive calendar entries, Internet sites visited,frequent document or application usage, resources ordered or delivered,travel or scheduling information, or the like, can be monitored anddetected. The project management system can observe such activities andsuggest a project automatically. For example, observing electronicmessages such as electronic mails or instant messages between aplurality of users with recurring keywords in the body text or in asubject heading, e.g., in the content of the electronic message, maycause the project management system to suggest a project directed to theobserved communications or a keyword or words within suchcommunications.

In another example, a user researching the purchase of a new automobilemay initiate a series of Internet searches for vehicle reviews andautomobile loan companies. A pattern relating to these searches can bediscerned by the project management system and a project devoted to thenew vehicle search can be automatically defined. The automaticdefinition may not create a complete definition, and as such may requireadditional user inputs to complete the project definition. For example,the project management system may request that the user specify a duedate having already suggested the project. In this way, the project canbe specified automatically, manually, or through a combination ofautomated suggestion and manual input.

In step 110, a project decay function can be defined and associated withthe project. The term “project decay function,” as used herein, canrefer to a mathematical model or algorithm for calculating the health ofthe project, referred to as the “project health.” The project decayfunction can be a simple or complex algorithm that can depend upon anyof a variety of different project decay function parameters. The projectdecay function parameters can be determined from various project eventsincluding, but not limited to, time related project events, projecttype, project events that are internal to the project management system,and/or project events that are external to the project and/or projectmanagement system.

In one embodiment, the project decay function may be a time basedfunction, e.g., depend upon time. Time, and the passage thereof, can beused to determine a fixed or variable decay rate for the project decayfunction. For example, the project health may decay at a predeterminedrate of 10 percent per week, such that the project health degrades tozero after 10 weeks. In another example, the rate of decay of theproject decay function can increase as a project deadline approaches orpasses while remaining incomplete, encouraging greater interaction with,or updating of, the project within the project management system.

In further illustration, the project decay function can specify that theproject health will decay faster or slower depending upon the time ofyear, time of day, or the like. For example, if a project is seasonal innature, the project decay function can specify that the project healthshould decay faster during more important times of year, e.g., spring.The project will require greater attention during those times of theyear in which the project health decays more rapidly than compared toother times of year with a rate of decay that is slower.

In another embodiment, the decay function can depend upon one or moreparameters that are internal to either the project or the projectmanagement system. These internal parameters can be monitored oraccessed by the project management system and used to update the projectdecay function. This monitoring and updating can occur automatically.Internal parameters can include, for example, the completion of a taskassociated with the project, an electronic communication having a keyword associated with the project, an electronic communication detectedbetween users associated with the project, ordering of resources neededfor the project, or physical contact with a device that has beenassociated with the project, e.g., an ambient device or peripheral.

For example, the decay rate of the decay function can increase as asupply of a project resource that is tracked by the project managementsystem decreases. The data for the project resource may be explicitlydefined within the project or may be stored within a database or otherapplication that may be communicatively linked with the projectmanagement system. In any case, the rate of decay can vary with the typeof internal parameter, as each parameter within the project decayfunction may be weighted for importance. For example, the rate of decaycan decrease as a particular project resource increases or the decayrate can increase as the number of members in the project is reduced.

In another embodiment the project decay function may be a function ofexternal parameters. As with internal parameters, external parameterscan be monitored or accessed by the project management system and usedto update the project decay function. In this case, the projectmanagement system may require access to one or more data sources outsideof the project management system or network of the organization in whichthe project management system operates. Examples of external parametersmay include, but are not limited to, weather conditions, economicconditions or data, actions by competitive groups, actions by contractworkers, materials shortages, communications or power outages,transportation issues, and the like. For example, an air conditioningparts manufacturing company may define a project wherein the decay rateof the project decay function increases as temperature increases.Increasing the rate of decay of the decay function can direct userattention to the need for increased parts inventory levels duringepisodes of hot or warm weather.

It should be noted that the date upon which the project decay functionindicates a project health of zero may not coincide with the projectdeadline. For example, the project decay function may require weeklyuser input to prevent the project decay function from decreasing tozero. The project deadline, however, may be two months in the future.Making a time period for total decay of the project decay functionshorter than the project deadline can assure more vigilant attention tothe project by the user during the term of the project.

In step 115, the project health can be initialized. As noted, theproject health refers to a metric or value calculated using the projectdecay function. The project health specifies the health, timeliness,progress, success, robustness, state, or the like, of a given project.In one embodiment, the project health can be initialized to a maximumvalue, where the project may begin in a healthy state. Alternatively,the project health can be initialized to a low value, or zero, tocommunicate that the project begins in a state of “poor health.” Theproject health can be initialized to any value within the range of thehighest possible project health to the lowest possible project health asdetermined according to the project decay function.

In step 120, the system can monitor for project events. As used herein,a “project event” can refer to any event or activity relating to time,an internal project parameter, and/or an external project parameter thatcan affect the state or health of the project. More particularly, aproject event can be any event that can be detected by the projectmanagement system that influences the project health of the project asdetermined according to the project decay function.

In step 125, the system can determine whether a project event has beendetected. If so, the method can proceed to step 130. If not, the methodcan continue to step 135. In step 130, one or more parameters from thedetected project event can be determined. Each event can exert adifferent level of influence on the project health indicator per thespecific role of the event within the project decay function. That is,each event can exert a different level of influence according to theparticular parameters specified by the project event that are utilizedby the project decay function.

In general, a project event that specifies internal parameters can be anevent that occurs within a data processing system or systems that arepart of the project management system, an event related to individualsassociated with the project, an event associated with resources used bythe project, or an event within an institution responsible for theproject.

A project event specifying an internal parameter can include a detectedkeyword search related to the project, a detected electroniccommunication between project members (e.g. electronic mail or instantmessaging (IM) sessions), a detected manipulation of objects or filesrelated to the project or within the project, e.g., within a sharedvirtual workspace or file management system for the project, a detectedcompletion of a project task, a detected group meeting and/orcollaboration organized in conjunction with the project managementsystem, a detected change in project membership (users associated withthe project), an identified sales metric, a detected marketing result,an identified project cost and/or budgeting goal, a detected physicalcontact by the user with a project related device or system, or thelike. For example, the project health can be adjusted each time an IMsession occurs between project members, a contract is reached with amajor vendor, a project member leaves the project, or a project taskdeadline is not met.

In one embodiment, an internal parameter of the project decay functionthat can be determined from detected events can be a level ofcollaboration between members of the project. For example, each groupmeeting between project members can increase the project health. Aquantity of electronic mail, and/or a frequency and duration of IMsessions and/or messages, between project members can increase theproject health by different amounts according to quantity, frequency andduration. In this example, the level of collaboration can be the primaryparameter in determining the project health. Still, other project eventsmay influence the project health such as sales results for a project, ora monetary or resource savings during the project.

It should be appreciated that project events such as interactionsbetween project members can be monitored within an internal networkserver or monitored from sources outside the network. In other cases,electronic mail clients, telephony devices, and other devices that caninterface with a client (e.g. personal computing devices, personaldigital assistants, or a computing device dedicated to project tasks),mobile phone communications, or the like can be used to obtaininformation or detect project events. For example, a census worker cancollect information for a census project on a personal digital assistantand later download the information onto a server processing the censusdata. The updating of that data when downloaded on the server may bedetected as a project event if such data is utilized by the projectdecay function. In this way, internal parameters can be collected fromthe source, and/or on the device, external to the computing environmentof the project management system and then imported into the projectmanagement system.

Project events that specify external parameters can refer to events thatspecify information obtained from outside the operational framework ofthe project such as data or applications outside of the data processingsystem(s) that implement the project management system, interaction withindividuals outside of the project team, parameters relating toresources that influence the project without being directly consumed bythe project, or parameters relating to outside institutions involvedwith the project. External parameters can influence the project outcomewithout being directly involved in project activities, resources, orindividuals participating in the project. In order to monitor externalparameters and/or external activities, the method 100 may accessexternal networks or databases and use them to gather or update projectinformation. Examples of an external parameter can include informationobtained from an outside contractor or vendor, information describingexternal economic forces, weather conditions, political or socialfactors, natural disasters, losing or winning a customer contract,changes in resource costs, legal regulatory changes, or the like.

For example, a gardening project may experience four days of continualrain, delaying the start of a planting cycle; a freeze can kill plants;or a supplier may not deliver a fertilizer order. Each of the proceedingexamples of external parameters can lead to an increase or decrease ofthe project health if incorporated into the project decay function. Inanother example, a project can be a bid for a military equipmentcontract which is later cancelled by changes in government budgeting.This external parameter can result in an immediate adjustment of theproject health to zero and the “death” of the project.

Although a distinction has been made between internal and externalparameters, the situation may arise where a clear distinction betweeninternal and external parameters is difficult to discern. For example, adelivery driver for an external trucking company can upload dailydelivery information from an electronic tablet, on which the driverrecords all deliveries, to a computing device of a project user. Datauploaded from the tablet may be related to the project and determined tobe internal parameters as they represent project product delivered. Theinformation, however, may be seen as external parameters as the deliverycompany is an institution existing outside of the project or theorganization that maintains the project management system.

In step 135, the system can determine a current time. The current timecan be used in a variety ways within the project decay function. Thoughdescribed in terms of determining a current time, the passage of time orevaluation of time also may be considered the detection of a projectevent so long as the project decay function incorporates some aspect oftime.

In one embodiment, time can be determined at a predetermined rate ortime interval for the project decay function. For example, the loopdefined by steps 120-140 can be executed every two seconds and thecurrent time determined. In another embodiment, the detection of aproject event in step 125 can initiate the determination of the currenttime. In yet another embodiment, both the detection of a project eventand/or the passage of a predetermined amount of time can initiate thedetermination of the current time. For example, a user may be requiredto input a weekly status report to maintain the health of a project.Upon detecting the event of the weekly report being input, the projectmanagement system can determine the current time and whether the reportwas input during the one week time period. In addition, the projectmanagement system can implement steps 120-140 every 2 seconds, or atsome other interval, determine from the current time the passage of theone week time period, and query another system to determine whether thestatus report has been delivered.

In step 140, the current time and other parameters obtained from thedetected project events can be used in the project decay function tocalculate, or determine, the project health. In one embodiment, as eachproject event is detected, the project health can be dynamicallyrecalculated, or adjusted, according to the project decay function. Inanother embodiment, the updating of the project health can be performedin a periodic manner such as at a fixed time interval or responsive to apredetermined number of project events, e.g., more than one projectevent, being detected. In yet another embodiment, a combination of thepreceding approaches can be implemented.

In step 145, the project health can be output. As used herein, “output”or “outputting” can include, but is not limited to, storing data inmemory, e.g., writing to a file, writing to a user display or otheroutput device such as an ambient device, playing audible notifications,sending or transmitting to another system, exporting, or the like.

The project can be associated with an icon and/or avatar graphicallyconveying information regarding the project health indicator.Accordingly, although the outputted project health is a quantitativevalue, the project health can be presented or graphically displayed asan icon or avatar on a display device, provided as an auditory output orindicated in any other form capable of communicating a change of theproject health. A variation of the project health can be displayed by achange in appearance, e.g., size, color, position, motion, luminescence,perspective or the like, of the icon and/or avatar. In the case of anauditory output being associated with the project health, the volume,tone, and/or frequency of the auditory output can be changed to signal avariation in the project health.

For example, a gardening project can be represented as an avatar of agreen plant that wilts and turns brown as the project health decreases.In another example, a birthday party project can be displayed asfloating balloon which shrinks and sinks as party task deadlines pass.In another embodiment, a dedicated peripheral device can be used toindicate the project health. For example, a lighted globe which glowsgreen when the project health indicator is maximized, but progressivelychanges color to red as the project health indicator deteriorates.

FIG. 2 is a block diagram illustrating a system 200 for performingproject management in accordance with another embodiment of the presentinvention. As shown, system 200 can include a computer system 205 and acomputer system 210, each being communicatively linked through a server215. As noted, each of the computer systems 205 and 210 can executeproject management clients. Server 215 can execute a server side projectmanagement application. In this example, an ambient device 220 iscoupled to the server 215. It should be appreciated, however, that theambient device 220 can be coupled to one of the computer systems 205 or210. Further, multiple ambient devices may be included so that each ofcomputer systems 205 and 210 is coupled to an ambient device.

The ambient device 220 can include a biometric sensor 225. In oneembodiment, the biometric sensor 225 can detect contact or touch from auser. For example, the biometric sensor 225 can be a capacitive devicethat outputs a signal or indicates that a user is in contact with theambient device 220 responsive to detecting changing capacitances. Otherexamples of biometric sensors that can be used or included in theambient device can include fingerprint sensors, olfactory sensors, heatdetectors, retina scanners, radio frequency identification tagdetectors, or the like.

As noted, the ambient device 220 can provide ambient indications of thehealth of a project. The ambient device 220, for example, may be a globethat changes color in a manner that correlates different colors withdifferent levels of health for the project. The biometric sensor 225allows various physical phenomena, e.g., touch, smell, contact from aparticular individual using the fingerprint sensor, etc., to becorrelated with or considered project events. Accordingly, differenttypes of physical occurrences detected directly by the ambient device220 can be provided to the project management application, e.g., theserver 215 or one of the computer systems 205 or 210, to be used withinthe project decay function. That is, different types of physicalphenomena that are detectable by the ambient device 220 can beincorporated into the project decay function.

Accordingly, any physical phenomena detected by ambient device 220through the biometric sensor 225, e.g., physical phenomena 230, can besent from the ambient device 220 to the project management applicationwithin server 215 in the form of an electronic message. The physicalphenomena 230 can be incorporated into the project decay function, e.g.,as another attribute influencing the health of the project.

In illustration, contact from one individual associated with the projectmay cause the health of the project to increase more than contact from adifferent individual that is also associated with the project. Inanother embodiment, different types of detected touch can be weighteddifferently or considered different types of physical phenomena. Forexample, multiple taps may have a different meaning or effect within theproject decay function as compared to one longer and continuous contact.The number of taps may influence the project decay function differently.The length of time of a particular contact also may be a separateattribute. Similarly, particular smells may carry different weight or beweighted differently than other types of physical phenomena. Thisallows, for example, the ambient device 220 to be positioned in alocation where the presence of particular smells, e.g., particularchemicals, has some meaning in terms of the project health, e.g., wherea particular shipment of a chemical as a supply has arrived or beenunloaded.

FIG. 2 also illustrates how different collaborations between two or morecomputer systems of users associated with a project can be detected. Asshown, a collaboration 235 can be detected between computer system 205and computer system 210. As noted, the collaboration 235 may be a textmessage, an electronic mail, a voice communication, or the like. Thecollaboration 235 may be detected by either computer system 205, 210individually, both, or within the server 215. As noted, particularkeywords of the collaboration 235 that are indicative, or identify, theproject can be detected within the collaboration 235. In the case ofvoice communications, speech recognition can be used to detectparticular keywords. In any case, as noted with respect to physicalphenomena 230, collaborations between different persons can havedifferent effects, e.g., weights, upon the health of a project accordingto the identity of the particular user or users that are communicatingand/or the role of each user within the project, e.g., as projectleader.

The flowchart(s) and block diagram(s) in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart(s) or block diagram(s) may represent a module, segment, orportion of code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblocks may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagram(s) and/or flowchartillustration(s), and combinations of blocks in the block diagram(s)and/or flowchart illustration(s), can be implemented by special purposehardware-based systems that perform the specified functions or acts, orcombinations of special purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a,” “an,” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiments were chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

Having thus described the invention of the present application in detailand by reference to the embodiments thereof, it will be apparent thatmodifications and variations are possible without departing from thescope of the invention defined in the appended claims.

1-20. (canceled)
 21. A computer-implemented method, comprising:associating, with a project and using a processor, a project decayfunction that regulates a rate at which a project health declines;identifying, from a project event and using the processor, a parameterof the project decay function; and calculating, based upon the projectdecay function and using the identified parameter, the project health.22. The method of claim 21, wherein the project decay function dependsupon time.
 23. The method of claim 21, wherein the project decayfunction depends upon a level of collaboration detected between at leasttwo users associated with the project.
 24. The method of claim 21,wherein the project health is reset to a maximum value after theprojected event is detected.
 25. The method of claim 21, wherein anavatar is displayed as a representation of the project health, and anappearance of the avatar is altered responsive to changes in the projecthealth.
 26. The method of claim 21, further comprising: sending thecalculated project health to an ambient device.
 27. The method of claim26, wherein the ambient device is configured to output the calculatedproject health.
 28. A computer hardware system, comprising: at least onehardware processor configured to initiate the following executableoperations: associating, with a project, a project decay function thatregulates a rate at which a project health declines; identifying, from aproject event, a parameter of the project decay function; andcalculating, based upon the project decay function and using theidentified parameter, the project health.
 29. The method of claim 21,wherein the project decay function depends upon time.
 30. The system ofclaim 28, wherein the project decay function depends upon a level ofcollaboration detected between at least two users associated with theproject.
 31. The system of claim 28, wherein the project health is resetto a maximum value after the projected event is detected.
 32. The systemof claim 28, wherein an avatar is displayed as a representation of theproject health, and an appearance of the avatar is altered responsive tochanges in the project health.
 33. The system of claim 28, furthercomprising: an ambient device, wherein the calculated project health issent to the ambient device.
 34. The system of claim 33, wherein theambient device is configured to output the calculated project health.35. A computer program product, comprising: a computer-usable storagedevice having stored therein computer-usable program code, thecomputer-usable program code, which when executed by a computer hardwaresystem, causes the computer hardware system to perform: associating,with a project, a project decay function that regulates a rate at whicha project health declines; identifying, from a project event, aparameter of the project decay function; and calculating, based upon theproject decay function and using the identified parameter, the projecthealth.
 36. The computer program product of claim 35, wherein theproject decay function depends upon time.
 37. The computer programproduct of claim 35, wherein the project decay function depends upon alevel of collaboration detected between at least two users associatedwith the project.
 38. The computer program product of claim 35, whereinthe project health is reset to a maximum value after the projected eventis detected.
 39. The computer program product of claim 35, wherein anavatar is displayed as a representation of the project health, and anappearance of the avatar is altered responsive to changes in the projecthealth.
 40. The computer program product of claim 35, wherein thecomputer-usable program code further causes the computer hardware systemto perform: sending the calculated project health to an ambient device.